package com.example.db.entity

import androidx.room.TypeConverter
import com.blankj.utilcode.util.GsonUtils
import java.util.ArrayList

/**
 * 自定义类型转换器
 *
 * 支持类型:Null,INTEGER,TEXT,BLOO,REAL
 * 其它类型需要自定义转换器
 */
class CustomTypeConverters {
    /**
     * 数据库存储一个List集合,就需要类型转换
     */
    @TypeConverter
    fun arrayListToString(list:ArrayList<String>):String{
        return GsonUtils.toJson(list)
    }

    /**
     * 将JSON字符串转成集合
     */
    @TypeConverter
    fun stringToArrayList(json:String):ArrayList<String>{
        return GsonUtils.fromJson(json,ArrayList::class.java) as ArrayList<String>
    }
    /**
     * 将Long类型转成字符串
     */
    @TypeConverter
    fun longToString(l:Long):String=l.toString()

    /**
     * 将Long类型转成String
     */
    @TypeConverter
    fun StringTolong(s:String):Long=s.toLong()

}